package com.coderman.infosys.auth.adapter.convert;

import com.coderman.infosys.auth.adapter.vo.role.RoleGroupVO;
import com.coderman.infosys.auth.adapter.vo.role.RoleVO;
import com.coderman.infosys.auth.adapter.vo.role.request.CreateRoleGroupRequestVO;
import com.coderman.infosys.auth.adapter.vo.role.request.UpdateRoleGroupRequestVO;
import com.coderman.infosys.auth.domain.bo.role.RoleGroupBO;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

import java.util.List;

/**
* @Description:RoleGroupConvertervobo接口
* @Author:
* @CreateTime:2022-01-04 15:27:39
* @version v1.0
*/
@Mapper
public interface RoleGroupConverter{
	RoleGroupConverter INSTANCE = Mappers.getMapper(RoleGroupConverter.class);

	/**
	 *
	 * @Description:
	 * @return List<RoleGroupBO>
	 */
	 List<RoleGroupBO> Vos2Bos(List<CreateRoleGroupRequestVO> createRoleGroupRequestVOList);
	/**
	 *
	 * @Description:
	 * @return RoleGroupBO
	 */
	 RoleGroupBO vo2bo(RoleVO roleVO);
	/**
	 *
	 * @Description:
	 * @return List<RoleGroupBO>
	 */
	 List<RoleGroupBO> Vos2BOs(List<RoleVO> roleVOList);
	/**
	 *
	 * @Description:
	 * @return RoleGroupBO
	 */
	 RoleGroupBO vo2bo(CreateRoleGroupRequestVO createRoleGroupRequestVO);
	/**
	 *
	 * @Description:
	 * @return List<RoleGroupBO>
	 */
	 List<RoleGroupBO> VOs2BOs(List<UpdateRoleGroupRequestVO> updateRoleGroupRequestVOList);
	/**
	 *
	 * @Description:
	 * @return RoleGroupBO
	 */
	 RoleGroupBO vo2bo(UpdateRoleGroupRequestVO updateRoleGroupRequestVO);
	/**
	 *
	 * @Description:
	 * @return List<RoleVO>
	 */
	 List<RoleGroupVO> boList2voList(List<RoleGroupBO> roleGroupBOList);

	/**
	 *
	 * @Description:
	 * @return RoleVO
	 */
	 RoleVO bo2RoleVO(RoleGroupBO roleGroupBO);
}